/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.mindbox.mueblesalpes.negocio.cliente;

import com.mindbox.mueblesalpes.negocio.entity.Cliente;
import com.mindbox.mueblesalpes.negocio.entity.Usuario;
import javax.ejb.Local;

/**
 *
 * @author Diana Carolina
 */
@Local
public interface ClienteServiceLocal {


    /**
     * Realiza la creación de un cliente
     * @param cliente: datos del cliente a crear
     * @return
     */

    public boolean crearCliente(com.mindbox.mueblesalpes.negocio.entity.Cliente cliente);
    /**
     * Realiza la búsqueda de los clientes de la aplicación
     * @param cliente
     * @return listado de los clientes de la aplicación
     */
    /**
     *
     * @param cliente
     * @return
     */
    public java.util.List<com.mindbox.mueblesalpes.negocio.entity.Cliente> buscarCliente(com.mindbox.mueblesalpes.negocio.entity.Cliente cliente);

    public java.util.List<com.mindbox.mueblesalpes.negocio.entity.Cliente> mostrarClientes();
    /**
     * Realiza la eliminación de un cliente
     * @param cliente: datos del cliente a se eliminado
     */
    /**
     *
     * @param cliente
     */
    public void eliminarCliente(com.mindbox.mueblesalpes.negocio.entity.Cliente cliente);

    /**
	 * Realiza la busqueda de Cliente a partir del usuario
	 * @param usuario usuario
	 * @return Cliente
	 */
    public Cliente buscarClienteLogin(Usuario usuario);

    /**
	 * Realiza la busqueda de usuario a partir del login y contraseña
	 * @param usuario usuario
	 * @return Cliente
	 */
    public com.mindbox.mueblesalpes.negocio.entity.Usuario buscarUsuario(com.mindbox.mueblesalpes.negocio.entity.Usuario usuario);
    /**
     * Realiza la modificación de los datos de un cliente
     * @param cliente
     */
    public void editarCliente(com.mindbox.mueblesalpes.negocio.entity.Cliente cliente);
    /**
     * Realiza la busqueda de clientes
     * @param cliente
     * @return
     */
    public java.util.List<com.mindbox.mueblesalpes.negocio.entity.Cliente> consultarCliente(com.mindbox.mueblesalpes.negocio.entity.Cliente cliente);

    /**
     * busca el usuario por el login
     * @param usuario
     * @return
     */
    public Usuario buscarUsuarioPorLogin(Usuario usuario);

    /**
     * Busca un cliente por el id
     * @param cliente identificador único del cliente
     * @return Cliente
     */
    public Cliente buscarClientePorId(Cliente cliente);
}
